//
//  WelcomeViewController.swift
//  weibobbaj
//
//  Created by Tiffany宝 on 16/4/20.
//  Copyright © 2016年 Tiffany. All rights reserved.
//

import UIKit
import SDWebImage

class WelcomeViewController: UIViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        view.backgroundColor = UIColor(white: 247/255, alpha: 1)
        
        view.addSubview(iconImageView)
        view.addSubview(textLabel)
        
        setupUI()
        
    }
    
    private func setupUI(){
        
        iconImageView.snp_makeConstraints { (make) -> Void in
            
            // CGSize *******-------
            make.size.equalTo(CGSize(width: 80, height: 80))
            make.centerX.equalTo(view)
            make.top.equalTo(200)
        }
        
        textLabel.snp_makeConstraints { (make) -> Void in
            
            make.top.equalTo(iconImageView.snp_bottom).offset(15)
            make.centerX.equalTo(iconImageView)
        }
    }
    
    //-------- *********** ---------
    // 在什么时候去执行(应该写在控制器里面的哪个地方) 界面展示出来才去执行动画
    // 因为界面没有展示出来是不需要去执行动画
    
    override func viewDidAppear(animated: Bool) {
        
        //更新头像约束
        iconImageView.snp_updateConstraints { (make) -> Void in
            
            make.top.equalTo(100)
        }
        
        //执行动画
        // 1. 如何执行弹簧的动画
        /**
        1. 持续时间
        2. 延时多少秒之后执行
        3. Damping -> 阻尼 0-1，取值越小，幅度越大
        4. Velocity -> 初始化速度
        5. 动画的选项
        6. 动画执行完成之后调用的闭包
        */
        UIView.animateWithDuration(1, delay: 0, usingSpringWithDamping: 0.9, initialSpringVelocity: 0, options: [], animations: { () -> Void in
            
                //---- **** 切记: 当前所在的 view 调用 layoutIfNeeded 方法
                self.view.layoutIfNeeded()
            
            }) { (_) -> Void in
//                print("啦啦啦")
                UIView.animateWithDuration(1, animations: { () -> Void in
                    
                    self.textLabel.alpha = 1
                    }, completion: { (_) -> Void in
                        // 透明度动画执行完毕： --> 跳转界面 （切换根控制器）首页界面
                        print("动画执行完毕，切换根控制器")
//                        UIApplication.sharedApplication().keyWindow?.rootViewController = MainTabBarController()
                        
                        // 以后在开发过程中，尽量把切换根控制器的代码统一到一个地方
                        NSNotificationCenter.defaultCenter().postNotificationName(XHChangeRootViewNotification, object: self)
                })
                
        }
    }
    
    
    //懒加载头像
    private lazy var iconImageView:UIImageView = {
        
        let imgView = UIImageView()
        
        //圆环头像
        imgView.layer.cornerRadius = 40
        imgView.layer.masksToBounds = true
        
        if let iconUrl = UserAccountViewModel.sharedViewModel.account?.avatar_large{
            
            imgView.sd_setImageWithURL(NSURL(string: iconUrl), placeholderImage: UIImage(named: "avatar_default_big"))
        }
        
        return imgView
    }()
    
    //懒加载文字
    private lazy var textLabel: UILabel = {
    
        let title = UILabel(textFont: 15, textColor: UIColor.darkGrayColor())
        
        title.text = "欢迎回来"
        
        title.alpha = 0
        
        return title
    }()
}
